package com.learn.dto.system.base;

import lombok.Data;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.List;

/**
 * Token在缓存中的信息对象
 *
 * @author yaoqihui
 * @version 2022/10/24
 * @see [相关类/方法]
 */
@Data
@Accessors (chain = true)
public class CacheTokenInfo implements Serializable
{
	private static final long serialVersionUID = - 8084304889993203453L;

	/**
	 * 用户ID/终端用户ID/操作员用户ID
	 */
	private String id;

	/**
	 * 用户账号
	 */
	private String account;

	/**
	 * 租户ID
	 */
	private String tenantId;

	/**
	 * 用户UA
	 */
	private String ua;

	/**
	 * 客户端IP
	 */
	private String clientIp;

	/**
	 * 登录来源从请求头x-DeviceInfo取（'|' 分割后数组的第三个（index=2）（基线数据模型中的terminal）
	 */
	private String clientType;

	/**
	 * 鉴权信息列表
	 */
	private List<String> restAuthList;

	/**
	 * 存放刷新token的key值
	 */
	private String refreshTokenKey;

	/**
	 * 存放用户状态的key值
	 */
	private String statusKey;

	/**
	 * 原始Token信息
	 */
	private String originToken;
}
